package com.itheima.zuoYe;

import lombok.extern.slf4j.Slf4j;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Slf4j
public class Test {
    public static void main(String[] args) throws Exception {
        //
        //1.创建集合，存储信息
        Map<Integer, User> map = new HashMap<>();

        //2.实用工具解析XML
        //2.1 创建SaxReader 解析器对象
        SAXReader reader = new SAXReader();

        //2.2使用解析器对象把XML文件解析成Document对象
        Document doc = reader.read("E:\\soft_install\\ideaIU\\JavaProject\\day12_properties\\src\\com\\itheima\\zuoYe\\users.xml");

        //2.3 获取根元素对象
        Element users = doc.getRootElement();

        //2.4 获取根元素下的所有user子元素
        List<Element> userElements = users.elements("user");
        for (Element userElement : userElements) {
            //2.5 获取user元素下的id属性
            int id = Integer.parseInt(userElement.attributeValue("id"));

            //2.6 获取user元素下的各个子元素的文本内容
            String name = userElement.element("name").getText();
            String sex = userElement.element("sex").getText();
            String address = userElement.element("address").getText();
            String password = userElement.element("password").getText();

            //2.7 创建User对象，封装用户信息
            User user = new User(id, name, sex, address, password);

            //2.8 将User对象添加到Map集合中
            map.put(id, user);
        }
        //3.遍历Map集合中的键值
        log.info("用户列表如下：");
        for (Map.Entry<Integer, User> entry : map.entrySet()) {
           log.info("ID:{} ->{}", entry.getKey(), entry.getValue());
        }
    }
}
